package com.atguigu.annotations;

import java.lang.annotation.*;

/**
 * @Author: shenhao
 * @CreatTime: 2024/11/4 21:34
 * @Version: 1.0
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisLimitAnnotation {
    /**
     * 资源的key,唯一
     * 作用：不同的接口，不同的流量控制
     */
    String key() default "";
    /**
     * 最多的访问限制次数
     */
    long permitsPerSecond() default 2;
    /**
     * 过期时间也可以理解为单位时间或滑动窗口时间，单位秒，默认60
     * 也就是超过次数后需要等待的时间, 每次点击没有超过次数要进行续期
     */
    long expire() default 60;
    /**
     * 得不到令牌的提示语
     */
    String msg() default "default message:系统繁忙or你点击过快, 请稍后再试";
}
